{% load static %}
{% load i18n %}
<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name=renderer  content=webkit>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge，chrome=1">
    <meta http-equiv="Cache-Control" content="no-transform" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <meta http-equiv="Cache-Control" content="max-age=7200" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="keywords" content="{% block keyword %}{% endblock %}mrdoc"/>
    <meta name="description" content="{% block description %}{% endblock %}" />
    <title>{% trans "文档历史版本对比：" %}{{ doc.name }} - {% if site_name != None and site_name != '' %}{{site_name}} {% else %}{% trans "觅道文档" %}{% endif %}</title>
    <link href="{% static 'layui/css/layui.css' %}?version={{mrdoc_version}}" rel="stylesheet">
    <link rel="icon" href="{% static 'favicon_16.png' %}"/>
    <link href="{% static 'mrdoc/mrdoc.css' %}?version={{mrdoc_version}}" rel="stylesheet">

    <link rel=stylesheet href="{% static '/docdiff/codemirror.css' %}?version={{mrdoc_version}}">
    <link rel=stylesheet href="{% static '/docdiff/merge.css' %}?version={{mrdoc_version}}">
    <style>
        .CodeMirror-merge, .CodeMirror-merge .CodeMirror{
            height: 600px;
        }
    </style>
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
    <![endif]-->

</head>
<body>
<div class="doc layui-fluid" style="padding-left:0px;">
    <!-- 左侧工具栏 -->
    <div class="doc-summary">
        <div class="project-title"><i class="fa fa-edit"></i> {% trans "MrDoc文档编辑器" %}<br>
            <span style="font-size: 14px;">{% trans "你正在：对比文档历史版本" %}</span>
        </div>
        <hr>
        <div class="layui-row" style="padding: 10px;">
            <p style="font-size: 20px;font-weight: 700;text-align: center;">{{ doc.name }}</p><hr>
            <table class="layui-table" lay-size="sm">
                <thead>
                  <tr>
                    <th>{% trans "创建时间" %}</th>
                    <th>{% trans "用户" %}</th>
                    <th>{% trans "查看" %}</th>
                  </tr>
                </thead>
                <tbody>
                  {% for history in history_list %}
                  <tr>
                    <td>{{ history.create_time }}</td>
                    <td>{{ history.create_user }}</td>
                    <td>
                        <a href="{% url 'diff_doc' history.doc.id history.id %}" >{% trans "对比" %}</a>
                    </td>
                  </tr>
                  {% endfor %}
                </tbody>
              </table>
        </div>
    </div>
    <!-- 左侧工具栏结束 -->

    <!-- 右侧编辑器栏 -->
    <div class="doc-body">
        <!-- 文档导航 -->
        <div class="doc-header" role="navigation">
            <a class="btn pull-left js-toolbar-action" aria-label="" href="javascript:void(0);" title="{% trans '切换侧边栏' %}">
                <i class="layui-icon layui-icon-spread-left"></i>
            </a>
            <!-- 顶部工具栏 -->
            <a class="btn pull-right" aria-label="" href="{% url 'pro_list' %}">
                <i class="layui-icon layui-icon-home"></i> <span class="layui-hide-xs">{% trans "首页" %}</span>
            </a>
        </div>
        <!-- 文档主体 -->
        <div class="doc-body-content" style="padding-left: 15px;">
            <div class="mrdoc-body-content-div">
                <!-- 文档内容 -->
                <div class="mrdoc-editor-content">
                    <div style="display: none">
                        <textarea id="doc">{{ doc.pre_content }}</textarea>
                        <textarea id="history">{{ history.pre_content }}</textarea>
                    </div>
                    <!-- 对比开始 -->
                    <div class="layui-row" style="margin-bottom: 10px;">
                        <div class="layui-col-md6" style="text-align: center;">
                            <span style="font-weight: 700;">{% trans "当前版本" %}</span>
                        </div>
                        <div class="layui-col-md6" style="text-align: center;">
                            <span style="font-weight: 700;color: darkblue;">{% trans "历史版本:" %}{{history.create_time}}</span>
                        </div>
                    </div>
                    <div class="markdown-body" id="content">
                    </div>
                    <!-- 对比结束 -->
                </div>
            </div>

        </div>
    </div>
    <!-- 右侧编辑器结束 -->
</div>

<script src="{% static 'jquery/3.1.1/jquery.min.js' %}"></script>
<script src="{% static 'layui/layui.js' %}?version={{mrdoc_version}}"></script>

<script src="{% static '/docdiff/codemirror.js' %}?version={{mrdoc_version}}"></script>
<script src="{% static '/docdiff/markdown.js' %}?version={{mrdoc_version}}"></script>
<script src="{% static '/docdiff/diff_match_patch.js' %}?version={{mrdoc_version}}"></script>
<script src="{% static '/docdiff/merge.js' %}?version={{mrdoc_version}}"></script>

<script>
    $.ajaxSetup({
        data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
    });
    var tree = layui.tree;
    //加载页面时执行一次
    changeSidebar();
    //监听浏览器宽度的改变
    window.onresize = function(){
        changeSidebar();
    };
    function changeSidebar(){
        // 获取匹配指定的媒体查询
        var screen_width = window.matchMedia('(max-width: 768px)');
        //判断匹配状态
        if(screen_width.matches){
            //如果匹配到，切换侧边栏
            $("body").addClass("big-page");
        }else{
            $("body").removeClass("big-page");
        }
    }
    </script>
    <!-- 切换隐藏侧边栏 -->
    <script>
        // 切换侧边栏
        $(function(){
            $(".js-toolbar-action").click(toggleSidebar);
        });
        //切换侧边栏显示隐藏
        function toggleSidebar(){
            console.log("切换侧边栏")
            $("body").toggleClass("big-page");
            return false;
        }
    </script>

    <!-- 展开收起左边目录 -->
    <script>
        $(function(){
            $(".switch-toc").click(SwitchToc);
        });
        function SwitchToc(i){
            var $me = $(this);
            $(this).parent().next("ul").toggleClass("toc-close"); //切换展开收起样式
            $(this).toggleClass("fa-chevron-left fa-chevron-down");//切换图标
        };
    </script>
    <script>
        // 初始化一些变量
        var value, orig1, orig2, dv, panes = 2, highlight = true, connect = "align", collapse = false;

        // 初始化合并对比
        function initUI() {
        if (value == null) return;
        var target = document.getElementById("content");
        target.innerHTML = "";
        // 生成合并视图
        dv = CodeMirror.MergeView(target, {
            value: value, //编辑值
            orig: orig2, // 对比值
            mode: "markdown", // Markdown语法模式
            lineNumbers: true, // 显示行号
            lineWrapping: true, // 换行
            foldGutter: true,
            highlightDifferences: highlight, // 高亮显示差异
            revertButtons:false,
        });
        }

        // 切换差异对比
        function toggleDifferences() {
        dv.setShowDifferences(highlight = !highlight);
        }

        // 页面加载执行
        window.onload = function() {
            value = document.getElementById('doc').innerHTML;
            orig2 = document.getElementById('history').innerHTML;
            initUI();
            var d = document.createElement("div"); 
            d.style.cssText = "width: 50px; margin: 7px; height: 14px"; 
            dv.editor().addLineWidget(57, d)
        };

        function mergeViewHeight(mergeView) {
        function editorHeight(editor) {
            if (!editor) return 0;
            return editor.getScrollInfo().height;
        }
        return Math.max(editorHeight(mergeView.leftOriginal()),
                        editorHeight(mergeView.editor()),
                        editorHeight(mergeView.rightOriginal()));
        }

        function resize(mergeView) {
        var height = mergeViewHeight(mergeView);
        for(;;) {
            if (mergeView.leftOriginal())
            mergeView.leftOriginal().setSize(null, height);
            mergeView.editor().setSize(null, height);
            if (mergeView.rightOriginal())
            mergeView.rightOriginal().setSize(null, height);

            var newHeight = mergeViewHeight(mergeView);
            if (newHeight >= height) break;
            else height = newHeight;
        }
        mergeView.wrap.style.height = height + "px";
        }
    </script>
<script src="{% static 'mrdoc/mrdoc.js' %}?version={{mrdoc_version}}"></script>
{% block custom_script %}
{% endblock %}
</body>
</html>